The present invention relates generally to data processing systems, and more particularly to a method, and apparatus for implementing that method, of monitoring the proper operation of a state machine of the type operable to sequence through a number of predetermined states, producing control signals for controlling various operations of other portions of the data processing system.
In many of today's data processing systems there is a need to permit certain portions or subsystems of the system to operate autonomously. One technique for fulfilling this need is to provide the subsystem with programmable control in the form of, for example, a microprocessor and associated support structure (e.g., memory). Often, it is necessary for two such subsystems to communicate with one another such as, for example, when transmitting data from one to the other. Such communication, often called "handshaking," will direct operation of one or the other of the subsystems, depending upon the handshake signals.
An example may be found in the input/output (I/O) system as of the data processing system, in which intelligent subsystems are often used to control data transfers between various units of the I/O system. For example, a typical I/O system will have one or more peripheral devices controlled by a device controlled that responds to instructions from a central processor unit (CPU) of the data processing system to initiate and control data transfers between the CPU and a selected one of the peripheral devices. Data is usually transferred in a bit parallel, byte (or word) series fashion between the peripheral device and the device controller during such a transfer. The transfers are controlled by handshaking between the device controller and the peripheral device associated therewith. Such handshaking can be generated by microprocessor systems.
However, when speed is a consideration, a microprocessor system may not be capable of meeting the demand. An alternative is available: Special state machines can be designed to perform the handshake-generating operations necessary, at the required speeds.
For the purposes of the description of the present invention, it will be understood that a state machine, which can be implemented in one of any of a number of presently known configurations, is of the type that is operable to each of a number of two predetermined digital states. The assumption of each digital state is dictated by the immediately prior digital state and the state of any event signal that may be also applied to direct operation of the state machine. An example of the use of state machines in a digital processing system for issuing memory commands can be found in U.S. Pat. No. 4,672,609.